package com.example.shujujiegousuanfa;

import java.util.Deque;
import java.util.LinkedList;

public class 十进制转十六进制 {
    public static void main(String[] args) {
        使用后进先出栈实现();
    }

    public static String 使用后进先出栈实现() {
        int 需要转换的十进制数字 = 12500;
        int 十六 = 16;
        Deque<String> objects = new LinkedList<>();
        do {
            int 余数 = 需要转换的十进制数字 % 十六;
            需要转换的十进制数字 = 需要转换的十进制数字 / 十六;
            objects.push(Integer.toHexString(余数));
        } while (需要转换的十进制数字 > 0);
        // [3, 0, d, 4]
        System.out.println(objects);
        StringBuilder stringBuilder = new StringBuilder();
        do {
            String pop = objects.pop();
            stringBuilder.append(pop);
        } while (!objects.isEmpty());
        // 组成字符串30D4，这就是十进制整数12500的十六进制表示的字符串。
        System.out.println(stringBuilder);
        return stringBuilder.toString();
    }

}
